package com.wd.live.myapp;

import android.app.Application;
import android.content.Context;

import com.alibaba.android.arouter.launcher.ARouter;
import com.tencent.mmkv.MMKV;


//import com.alibaba.android.arouter.launcher.ARouter;
/*
* Kotlin 和 Java 对比: Kotlin 是一种现代的、静态类型的编程语言
* ，与Java相比，Kotlin更加简洁、安全且易于使用，同时也具备与Java完
* 全的互操作性*/
public class MyApp extends Application {
    public static Context context=null;
    @Override
    public void onCreate() {
        super.onCreate();
        context=this;
        if (isDebug()) { // 这两行必须写在init之前，否则这些配置在init过程中将无效
            ARouter.openLog();     // 打印日志
            ARouter.openDebug();   // 开启调试模式(如果在InstantRun模式下运行，必



            //开启调试模式！线上版本需要关闭,否则有安全风险)
            //MVVM的核心思想是通过数据绑定实现View与ViewModel之间的解耦，使得界面更
            // 新更加简洁和高效。ViewModel负责处理界面逻辑，使得View只需负责展示数据
            //MVP的核心思想是将业务逻辑和界面逻辑分离，以便于单元测试、代码重用和维护。
            // Presenter作为View和Model之间的桥梁，负责协调它们之间的通信。
        }
        ARouter.init(this); // 尽可能早，推荐在Application中初始化

        //初始化微信
//        initWeChat();
//        initSVGA();
        //MVP强调Presenter作为View和Model之间的中介，负责处理业务逻辑；而MVVM则强调View
        // Model作为View的数据和状态管理者，通过数据绑定更新View。
        //在MVP中，View需要主动调用Presenter来更新数据；而在MVVM中，View通过数据绑定自动更新。
        //初始化 MMKV
        String initialize = MMKV.initialize(this);
//        Log.i("======= ", initialize);
    }

    private boolean isDebug() {
        return true;
    }
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
//        MultiDex.install(this);
    }

    private void initWeChat() {
//        WXUtil.regToWx(this);
    }

    private void initSVGA() {
//        SVGAParser.Companion.shareParser().init(this);
    }
}
